package server.dominio;

import java.rmi.RemoteException;
import java.util.Enumeration;
import java.util.Hashtable;

import client.comunicaciones.IJugador;

import server.comunicaciones.Notificador;
import server.comunicaciones.StubJugador;
import server.presentacion.JFServer;

/**
 * Licensee: Computer Science Shool License Type: Academic
 */
public class TableroJuego {
	public TableroJuego() {
	}
	protected int id;
	protected String jugadores;
	protected String momento;
	protected String tablero;
	private JFServer ventana;

	public void setId(int value) {
		this.id = value;
	}

	public int getId() {
		return id;
	}

	public int getORMID() {
		return getId();
	}

	public void setJugadores(String value) {
		this.jugadores = value;
	}

	public String getJugadores() {
		return jugadores;
	}

	public void setMomento(String value) {
		this.momento = value;
	}

	public String getMomento() {
		return momento;
	}

	public void setTablero(String tablero) {
	}

	public String getTablero() {
		return tablero;
	}

	public void poner(byte idCuadricula, String color, byte fila, byte columna,
			byte numero) {
	}

	public void quitar(byte idCuadricula, String color, byte fila,
			byte columna, byte numero) {
	}

	public void add(IJugador jugador, String idJugador) {
		StubJugador stubJugador = new StubJugador(jugador, idJugador);
	//	this.jugadores.put(idJugador, stubJugador);
	}

	/*public void notificar() throws RemoteException {
		Enumeration<StubJugador> e=this.jugadores.elements();
		while (e.hasMoreElements()) {
			try {
				StubJugador jugador=e.nextElement();
				Notificador n=new Notificador(this, jugador);
				Thread t=new Thread(n);
				t.start();
			}
			catch (Exception ex) {
			}
		}

	public void crearVectorDeJugadores() {
		this.jugadores = new Hashtable<String, StubJugador>();
	}

	public synchronized void removeJugador(String id) {
		this.jugadores.remove(id);
		this.ventana.logError("Se ha eliminado a " + id + " del sudoku "
				+ this.id + ", que no contestaba");
	}

	public StubJugador findJugador(String idJugador) {
		return this.jugadores.get(idJugador);
	}*/

	public void setVentana(JFServer ventana) {
		this.ventana = ventana;
	}

	public String toString() {
		return String.valueOf(getId());
	}

}
